perm filename F8T.SAI[F8,ALS]2 blob
sn#317168 filedate 1977-11-25 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "F8FILE"
C00015 ENDMK
C⊗;
BEGIN "F8FILE"
DEFINE ⊂="BEGIN",⊃="END",$="COMMENT";
INTEGER I,CHAN1,EOF;
STRING READX,READY,READZ;
BOOLEAN ER;
PROCEDURE HELP;
⊂ OUTSTR('15&'12&'11&"The F8 file transfer program"&'15&'12);
OUTSTR ("
This program transfers data from a cassette on a TI terminal
into a file on the PDP-10.
Services are:
0. Exit.
1. Open a new file.
2. Start reading.
3. Close file.
4. Help! (repeat this message).");
⊃ ;
PROCEDURE ASK;
⊂
CHAN1←1;
CLOSE (CHAN1); OPEN (CHAN1,"DSK",0,0,2,0,0,EOF);
WHILE TRUE DO
⊂ OUTSTR ('11&"Type file name = "); READX←INCHWL;
LOOKUP (CHAN1,READX,ER);
IF ER THEN DONE;
OUTSTR ('11&"File already exists. Do you want to overwrite it? /Y or N/ ");
READY←(INCHWL)[1 for 1];
IF EQU(READY,"Y")∨EQU(READY,"y") THEN DONE;
⊃;
ENTER (CHAN1,READX,ER);
⊃;
PROCEDURE READ;
⊂
WHILE TRUE DO
⊂
OUTSTR ('21);
READX←INCHWL;
READZ←INCHRS;
IF EQU(READX,'3) THEN DONE;
IF EQU(READX,"END END END") THEN DONE;
OUT(CHAN1,READX&'15&'12);
⊃;
OUTSTR ('11&"End of file has been reached.");
⊃;
PROCEDURE CLOSEF;
⊂
CLOSE(CHAN1);
OUTSTR ('11&"File has been closed.");
⊃;
$ Main program loop starts here;
HELP;
WHILE TRUE DO
⊂ OUTSTR('15&'12&'11&"Type number with CR = ");
SETFORMAT (5,2);
I←CVD(INCHWL);
IF (I>5)∨(I≤0) THEN DONE;
CASE I OF ⊂ ;ASK;READ;CLOSEF;HELP ⊃;
⊃ ;
CLOSE(CHAN1); RELEASE(CHAN1);
⊃ "F8FILE";
END;